package org.Niu;

import java.util.Arrays;

public class Arry {
    public static void main(String[] args) {
        //ctrl + y 快速删除一行
        //1.数组的声明
        int[] a1;
        int a2[];

        //2.指定数组的大小 - String的默认值是null
        int[] a = new int[5];
        for (int i : a) {
            // int 初始化默认值是 0
            System.out.println(i);
        }
        String[] str = new String[5];
        for (String s : str) {
            // string 初始化默认是 null
            System.out.println(s);
        }
        // 3.1 静态初始化 - 直接赋值
        int[] a3 = {1,2,3,4};
        // 3.2 动态初始化 - 先创建，再赋值
        int[] a4 = new int[3];
        a4[0] = 1;
        a4[1] = 2;
        a4[2] = 3;
        for (int i : a4) {
            System.out.println("i = " + i);
        }

        printArray(new int[]{1,2,3});


        // 4. 二维数组 - 不规则数组
        int[][] jaggedArr = new int[3][];  // 仅指定行数
        jaggedArr[0] = new int[]{1, 2};    // 第0行2列
        jaggedArr[1] = new int[]{3, 4, 5}; // 第1行3列
        jaggedArr[2] = new int[]{6};       // 第2行1列

        // 5. 遍历数组
        // 5.1
        String[] sta = {"test1","test2","test3","test4"};
        // 注意数组是 .length  String的长度是.length()
        String a5 = "niujiaXu";
        System.out.println("length() = " + a5.length());
        for (int i = 0; i < sta.length; i++) {
            System.out.println("a[i] = " + sta[i]);
        }
        // 5.2
        for (String s : sta) {
            System.out.println("s = " + s);
        }

        // 6. 数组拷贝
        // 6.1
        String[] src = {"yuan1","yuan2","yuan3"};
        String[] des = new String[3];
        System.arraycopy(src,0,des,0,src.length);
        des[0] = "Change1"; // 不是引用放心使用
        System.out.println(src[0] + " compare " + des[0]);
        // 6.2
        String[] des2 = Arrays.copyOf(src,src.length);
        des2[0] = "Change1";// 不是引用放心使用
        System.out.println(src[0] + " compare " + des2[0]);





    }

    public static void printArray(int[] arr) {
        for (int num : arr) {
            System.out.println(num);
        }
    }

}
